// 初始化购物车数据
let cart = JSON.parse(localStorage.getItem('cart')) || [];

// 添加到购物车函数
export function addToCart(product) {
  // 查找商品是否存在
  let existingProduct = cart.find(item => item.productId === product.productId);

  // 若商品存在，增加数量
  if (existingProduct) {
    existingProduct.quantity += 1;
  }
  // 若商品不存在，添加到购物车
  else {
    cart.push({ ...product, quantity: 1 });
  }

  // 更新localStorage中的购物车数据
  localStorage.setItem('cart', JSON.stringify(cart));
}

//清空购物车
export function clearCart() {
  localStorage.removeItem('cart');
}
//获取购物车中的商品数量
export function getCount() {
  let cart = JSON.parse(localStorage.getItem('cart'));
  let count = Object.keys(cart).length;
  console.log("当前购物车数量：" + count);
  return count;
}

//修改商品数量
export function updateCart(productId, type) {
  let product = cart.find(item => item.productId === productId);
  if (type == 'add') {
    product.quantity += 1;
  } else if (type == 'subtract') {
    if (product.quantity > 1) {
      product.quantity -= 1;
    } else {
      //单数量为0时,在当前购物车中删除
      cart = cart.filter(item => item.productId != productId);
    }
  }
  // 更新localStorage中的购物车数据
  localStorage.setItem('cart', JSON.stringify(cart));
} 

//删除指定商品
export function delProduct(productId) {
  let cart = JSON.parse(localStorage.getItem('cart'));
  //重新生成购物车
  cart = cart.filter(item => item.productId != productId);

  //更新localStorage中的购物车数据
  localStorage.setItem('cart', JSON.stringify(cart));
}